/**
 *
 */
import Util;
import OpenApi;
import OpenApiUtil;
import EndpointUtil;

extends OpenApi;


init(config: OpenApi.Config){
  super(config);
  @endpointRule = '';
  
  checkConfig(config);
  @endpoint = getEndpoint('cc5g', @regionId, @endpointRule, @network, @suffix, @endpointMap, @endpoint);
}

function getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: map[string]string, endpoint: string) throws: string{
  if (!Util.empty(endpoint)) {
    return endpoint;
  }
  
  if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) {
    return endpointMap[regionId];
  }
  return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
}

model AddDNSAuthorizationRuleRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='ar5g-test'),
  destinationIp?: string(name='DestinationIp', example='1.1.1.1'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  sourceDNSIp?: string(name='SourceDNSIp', description='This parameter is required.', example='0.0.0.0'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model AddDNSAuthorizationRuleResponseBody = {
  authorizationRuleId?: string(name='AuthorizationRuleId', example='ar5g-xxxx'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model AddDNSAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: AddDNSAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 添加5G高速上云服务实例的DNS授权规则
 *
 * @param request AddDNSAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return AddDNSAuthorizationRuleResponse
 */
async function addDNSAuthorizationRuleWithOptions(request: AddDNSAuthorizationRuleRequest, runtime: Util.RuntimeOptions): AddDNSAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destinationIp)) {
    query['DestinationIp'] = request.destinationIp;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.sourceDNSIp)) {
    query['SourceDNSIp'] = request.sourceDNSIp;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'AddDNSAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 添加5G高速上云服务实例的DNS授权规则
 *
 * @param request AddDNSAuthorizationRuleRequest
 * @return AddDNSAuthorizationRuleResponse
 */
async function addDNSAuthorizationRule(request: AddDNSAuthorizationRuleRequest): AddDNSAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return addDNSAuthorizationRuleWithOptions(request, runtime);
}

model AddGroupDnsAuthorizationRuleRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='ar5gg-test'),
  destinationIp?: string(name='DestinationIp', example='1.1.1.1'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  sourceDNSIp?: string(name='SourceDNSIp', description='This parameter is required.', example='114.114.114.114'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model AddGroupDnsAuthorizationRuleResponseBody = {
  authorizationRuleId?: string(name='AuthorizationRuleId', example='ar5gg-12fnojjtkkre28t08j'),
  requestId?: string(name='RequestId', example='D3BAFE75-C670-52DB-9739-03133E5FC914'),
}

model AddGroupDnsAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: AddGroupDnsAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 添加5G高速上云服务实例组的DNS授权规则
 *
 * @param request AddGroupDnsAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return AddGroupDnsAuthorizationRuleResponse
 */
async function addGroupDnsAuthorizationRuleWithOptions(request: AddGroupDnsAuthorizationRuleRequest, runtime: Util.RuntimeOptions): AddGroupDnsAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destinationIp)) {
    query['DestinationIp'] = request.destinationIp;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.sourceDNSIp)) {
    query['SourceDNSIp'] = request.sourceDNSIp;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'AddGroupDnsAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 添加5G高速上云服务实例组的DNS授权规则
 *
 * @param request AddGroupDnsAuthorizationRuleRequest
 * @return AddGroupDnsAuthorizationRuleResponse
 */
async function addGroupDnsAuthorizationRule(request: AddGroupDnsAuthorizationRuleRequest): AddGroupDnsAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return addGroupDnsAuthorizationRuleWithOptions(request, runtime);
}

model AddWirelessCloudConnectorToGroupRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
  wirelessCloudConnectorIds?: [ string ](name='WirelessCloudConnectorIds', description='This parameter is required.'),
}

model AddWirelessCloudConnectorToGroupResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model AddWirelessCloudConnectorToGroupResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: AddWirelessCloudConnectorToGroupResponseBody(name='body'),
}

/**
 * @summary 添加5G高速上云服务实例到组
 *
 * @param request AddWirelessCloudConnectorToGroupRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return AddWirelessCloudConnectorToGroupResponse
 */
async function addWirelessCloudConnectorToGroupWithOptions(request: AddWirelessCloudConnectorToGroupRequest, runtime: Util.RuntimeOptions): AddWirelessCloudConnectorToGroupResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorIds)) {
    query['WirelessCloudConnectorIds'] = request.wirelessCloudConnectorIds;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'AddWirelessCloudConnectorToGroup',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 添加5G高速上云服务实例到组
 *
 * @param request AddWirelessCloudConnectorToGroupRequest
 * @return AddWirelessCloudConnectorToGroupResponse
 */
async function addWirelessCloudConnectorToGroup(request: AddWirelessCloudConnectorToGroupRequest): AddWirelessCloudConnectorToGroupResponse {
  var runtime = new Util.RuntimeOptions{};
  return addWirelessCloudConnectorToGroupWithOptions(request, runtime);
}

model AttachVpcToNetLinkRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  netLinkId?: string(name='NetLinkId', description='This parameter is required.', example='cciot-xxxx'),
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
  vSwitches?: [ string ](name='VSwitches', description='This parameter is required.'),
  vpcId?: string(name='VpcId', description='This parameter is required.', example='vpc-bp1etmgc4vooo5ahbkzou'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model AttachVpcToNetLinkResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model AttachVpcToNetLinkResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: AttachVpcToNetLinkResponseBody(name='body'),
}

/**
 * @summary 创建5G高速上云服务实例下的网络连接
 *
 * @param request AttachVpcToNetLinkRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return AttachVpcToNetLinkResponse
 */
async function attachVpcToNetLinkWithOptions(request: AttachVpcToNetLinkRequest, runtime: Util.RuntimeOptions): AttachVpcToNetLinkResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.netLinkId)) {
    query['NetLinkId'] = request.netLinkId;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.vSwitches)) {
    query['VSwitches'] = request.vSwitches;
  }
  if (!Util.isUnset(request.vpcId)) {
    query['VpcId'] = request.vpcId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'AttachVpcToNetLink',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 创建5G高速上云服务实例下的网络连接
 *
 * @param request AttachVpcToNetLinkRequest
 * @return AttachVpcToNetLinkResponse
 */
async function attachVpcToNetLink(request: AttachVpcToNetLinkRequest): AttachVpcToNetLinkResponse {
  var runtime = new Util.RuntimeOptions{};
  return attachVpcToNetLinkWithOptions(request, runtime);
}

model CreateAuthorizationRuleRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='ar5g-test'),
  destination?: string(name='Destination', description='This parameter is required.', example='10.0.0.1'),
  destinationPort?: string(name='DestinationPort', example='-1/-1'),
  destinationType?: string(name='DestinationType', description='This parameter is required.', example='Cidr'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='Test'),
  policy?: string(name='Policy', description='This parameter is required.', example='Permit'),
  protocol?: string(name='Protocol', example='all'),
  sourceCidr?: string(name='SourceCidr', example='0.0.0.0/0'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model CreateAuthorizationRuleResponseBody = {
  authorizationRuleId?: string(name='AuthorizationRuleId', example='ar5g-12fnojjtkkre28t08j'),
  requestId?: string(name='RequestId', example='61202DF5-668B-5EDA-8177-F2D71F4737C1'),
}

model CreateAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: CreateAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 创建5G高速上云服务实例的授权规则
 *
 * @param request CreateAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return CreateAuthorizationRuleResponse
 */
async function createAuthorizationRuleWithOptions(request: CreateAuthorizationRuleRequest, runtime: Util.RuntimeOptions): CreateAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destination)) {
    query['Destination'] = request.destination;
  }
  if (!Util.isUnset(request.destinationPort)) {
    query['DestinationPort'] = request.destinationPort;
  }
  if (!Util.isUnset(request.destinationType)) {
    query['DestinationType'] = request.destinationType;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.policy)) {
    query['Policy'] = request.policy;
  }
  if (!Util.isUnset(request.protocol)) {
    query['Protocol'] = request.protocol;
  }
  if (!Util.isUnset(request.sourceCidr)) {
    query['SourceCidr'] = request.sourceCidr;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'CreateAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 创建5G高速上云服务实例的授权规则
 *
 * @param request CreateAuthorizationRuleRequest
 * @return CreateAuthorizationRuleResponse
 */
async function createAuthorizationRule(request: CreateAuthorizationRuleRequest): CreateAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return createAuthorizationRuleWithOptions(request, runtime);
}

model CreateBatchOperateCardsTaskRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='task- test'),
  dryRun?: boolean(name='DryRun', example='true'),
  effectType?: string(name='EffectType', description='This parameter is required.', example='CurrentMonth'),
  iccids?: [ string ](name='Iccids'),
  iccidsOssFilePath?: string(name='IccidsOssFilePath', example='https://examplebucket.oss-eu-central-1.aliyuncs.com/***'),
  name?: string(name='Name', example='test'),
  operateType?: string(name='OperateType', description='This parameter is required.', example='BreakNetwork'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  threshold?: long(name='Threshold', description='This parameter is required.', example='100'),
  wirelessCloudConnectorIds?: [ string ](name='WirelessCloudConnectorIds'),
}

model CreateBatchOperateCardsTaskResponseBody = {
  batchOperateCardsTaskId?: string(name='BatchOperateCardsTaskId', example='boct-xxxx'),
  operateResultOssFilePath?: string(name='OperateResultOssFilePath', example='https://examplebucket.oss-eu-central-1.aliyuncs.com/***'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model CreateBatchOperateCardsTaskResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: CreateBatchOperateCardsTaskResponseBody(name='body'),
}

/**
 * @summary 创建批量操作卡任务
 *
 * @param request CreateBatchOperateCardsTaskRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return CreateBatchOperateCardsTaskResponse
 */
async function createBatchOperateCardsTaskWithOptions(request: CreateBatchOperateCardsTaskRequest, runtime: Util.RuntimeOptions): CreateBatchOperateCardsTaskResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.effectType)) {
    query['EffectType'] = request.effectType;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.iccidsOssFilePath)) {
    query['IccidsOssFilePath'] = request.iccidsOssFilePath;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.operateType)) {
    query['OperateType'] = request.operateType;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.threshold)) {
    query['Threshold'] = request.threshold;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorIds)) {
    query['WirelessCloudConnectorIds'] = request.wirelessCloudConnectorIds;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'CreateBatchOperateCardsTask',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 创建批量操作卡任务
 *
 * @param request CreateBatchOperateCardsTaskRequest
 * @return CreateBatchOperateCardsTaskResponse
 */
async function createBatchOperateCardsTask(request: CreateBatchOperateCardsTaskRequest): CreateBatchOperateCardsTaskResponse {
  var runtime = new Util.RuntimeOptions{};
  return createBatchOperateCardsTaskWithOptions(request, runtime);
}

model CreateGroupAuthorizationRuleRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='ar5gg-test'),
  destination?: string(name='Destination', description='This parameter is required.', example='106.14.175.4'),
  destinationPort?: string(name='DestinationPort', example='-1/-1'),
  destinationType?: string(name='DestinationType', description='This parameter is required.', example='Cidr'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  policy?: string(name='Policy', description='This parameter is required.', example='Permit'),
  protocol?: string(name='Protocol', example='all'),
  sourceCidr?: string(name='SourceCidr', example='0.0.0.0/0'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model CreateGroupAuthorizationRuleResponseBody = {
  authorizationRuleId?: string(name='AuthorizationRuleId', example='ar5gg-xxxx'),
  requestId?: string(name='RequestId', example='AA93A076-3D94-51AB-AC70-4C94AF003B03'),
}

model CreateGroupAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: CreateGroupAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 创建5G高速上云服务实例组的授权规则
 *
 * @param request CreateGroupAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return CreateGroupAuthorizationRuleResponse
 */
async function createGroupAuthorizationRuleWithOptions(request: CreateGroupAuthorizationRuleRequest, runtime: Util.RuntimeOptions): CreateGroupAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destination)) {
    query['Destination'] = request.destination;
  }
  if (!Util.isUnset(request.destinationPort)) {
    query['DestinationPort'] = request.destinationPort;
  }
  if (!Util.isUnset(request.destinationType)) {
    query['DestinationType'] = request.destinationType;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.policy)) {
    query['Policy'] = request.policy;
  }
  if (!Util.isUnset(request.protocol)) {
    query['Protocol'] = request.protocol;
  }
  if (!Util.isUnset(request.sourceCidr)) {
    query['SourceCidr'] = request.sourceCidr;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'CreateGroupAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 创建5G高速上云服务实例组的授权规则
 *
 * @param request CreateGroupAuthorizationRuleRequest
 * @return CreateGroupAuthorizationRuleResponse
 */
async function createGroupAuthorizationRule(request: CreateGroupAuthorizationRuleRequest): CreateGroupAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return createGroupAuthorizationRuleWithOptions(request, runtime);
}

model CreateIoTCloudConnectorBackhaulRouteRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  netLinkId?: string(name='NetLinkId', example='cciot-xxxx'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model CreateIoTCloudConnectorBackhaulRouteResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model CreateIoTCloudConnectorBackhaulRouteResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: CreateIoTCloudConnectorBackhaulRouteResponseBody(name='body'),
}

/**
 * @summary 下发iotcc实例的回程路由
 *
 * @param request CreateIoTCloudConnectorBackhaulRouteRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return CreateIoTCloudConnectorBackhaulRouteResponse
 */
async function createIoTCloudConnectorBackhaulRouteWithOptions(request: CreateIoTCloudConnectorBackhaulRouteRequest, runtime: Util.RuntimeOptions): CreateIoTCloudConnectorBackhaulRouteResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.netLinkId)) {
    query['NetLinkId'] = request.netLinkId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'CreateIoTCloudConnectorBackhaulRoute',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 下发iotcc实例的回程路由
 *
 * @param request CreateIoTCloudConnectorBackhaulRouteRequest
 * @return CreateIoTCloudConnectorBackhaulRouteResponse
 */
async function createIoTCloudConnectorBackhaulRoute(request: CreateIoTCloudConnectorBackhaulRouteRequest): CreateIoTCloudConnectorBackhaulRouteResponse {
  var runtime = new Util.RuntimeOptions{};
  return createIoTCloudConnectorBackhaulRouteWithOptions(request, runtime);
}

model CreateWirelessCloudConnectorRequest {
  businessType?: string(name='BusinessType', example='Business'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='test'),
  dryRun?: boolean(name='DryRun', example='true'),
  ISP?: string(name='ISP', description='This parameter is required.', example='unicom'),
  name?: string(name='Name', example='test'),
  netLinks?: [ 
    {
      APN?: string(name='APN', description='This parameter is required.', example='zjalyjs01s.5gjs.njiot'),
      regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
      vSwitchs?: [ string ](name='VSwitchs', description='This parameter is required.'),
      vpcId?: string(name='VpcId', description='This parameter is required.', example='vpc-xxx'),
    }
  ](name='NetLinks', description='This parameter is required.'),
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
  useCase?: string(name='UseCase', example='test'),
}

model CreateWirelessCloudConnectorResponseBody = {
  requestId?: string(name='RequestId', example='E1E237B1-EED7-55D5-AE5F-671E642DB3B5'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-xxxx'),
}

model CreateWirelessCloudConnectorResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: CreateWirelessCloudConnectorResponseBody(name='body'),
}

/**
 * @summary 创建5G高速上云服务实例
 *
 * @param request CreateWirelessCloudConnectorRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return CreateWirelessCloudConnectorResponse
 */
async function createWirelessCloudConnectorWithOptions(request: CreateWirelessCloudConnectorRequest, runtime: Util.RuntimeOptions): CreateWirelessCloudConnectorResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.businessType)) {
    query['BusinessType'] = request.businessType;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.ISP)) {
    query['ISP'] = request.ISP;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.netLinks)) {
    query['NetLinks'] = request.netLinks;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.useCase)) {
    query['UseCase'] = request.useCase;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'CreateWirelessCloudConnector',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 创建5G高速上云服务实例
 *
 * @param request CreateWirelessCloudConnectorRequest
 * @return CreateWirelessCloudConnectorResponse
 */
async function createWirelessCloudConnector(request: CreateWirelessCloudConnectorRequest): CreateWirelessCloudConnectorResponse {
  var runtime = new Util.RuntimeOptions{};
  return createWirelessCloudConnectorWithOptions(request, runtime);
}

model CreateWirelessCloudConnectorGroupRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='cc5gg-test'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name'),
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
}

model CreateWirelessCloudConnectorGroupResponseBody = {
  requestId?: string(name='RequestId', example='88C2F32F-B641-5980-B7A5-6907050ABCD1'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', example='cc5gg-****'),
}

model CreateWirelessCloudConnectorGroupResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: CreateWirelessCloudConnectorGroupResponseBody(name='body'),
}

/**
 * @summary 创建5G高速上云服务实例组
 *
 * @param request CreateWirelessCloudConnectorGroupRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return CreateWirelessCloudConnectorGroupResponse
 */
async function createWirelessCloudConnectorGroupWithOptions(request: CreateWirelessCloudConnectorGroupRequest, runtime: Util.RuntimeOptions): CreateWirelessCloudConnectorGroupResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'CreateWirelessCloudConnectorGroup',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 创建5G高速上云服务实例组
 *
 * @param request CreateWirelessCloudConnectorGroupRequest
 * @return CreateWirelessCloudConnectorGroupResponse
 */
async function createWirelessCloudConnectorGroup(request: CreateWirelessCloudConnectorGroupRequest): CreateWirelessCloudConnectorGroupResponse {
  var runtime = new Util.RuntimeOptions{};
  return createWirelessCloudConnectorGroupWithOptions(request, runtime);
}

model DeleteAuthorizationRuleRequest {
  authorizationRuleId?: string(name='AuthorizationRuleId', description='This parameter is required.', example='ar5g-xxxx'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model DeleteAuthorizationRuleResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model DeleteAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DeleteAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 删除5G高速上云服务实例的授权规则
 *
 * @param request DeleteAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DeleteAuthorizationRuleResponse
 */
async function deleteAuthorizationRuleWithOptions(request: DeleteAuthorizationRuleRequest, runtime: Util.RuntimeOptions): DeleteAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.authorizationRuleId)) {
    query['AuthorizationRuleId'] = request.authorizationRuleId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'DeleteAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 删除5G高速上云服务实例的授权规则
 *
 * @param request DeleteAuthorizationRuleRequest
 * @return DeleteAuthorizationRuleResponse
 */
async function deleteAuthorizationRule(request: DeleteAuthorizationRuleRequest): DeleteAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return deleteAuthorizationRuleWithOptions(request, runtime);
}

model DeleteBatchOperateCardsTaskRequest {
  batchOperateCardsTaskId?: string(name='BatchOperateCardsTaskId', description='This parameter is required.', example='boct-xxx'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  regionId?: string(name='RegionId', example='cn-shenzhen'),
}

model DeleteBatchOperateCardsTaskResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model DeleteBatchOperateCardsTaskResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DeleteBatchOperateCardsTaskResponseBody(name='body'),
}

/**
 * @summary 删除批量操作卡任务
 *
 * @param request DeleteBatchOperateCardsTaskRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DeleteBatchOperateCardsTaskResponse
 */
async function deleteBatchOperateCardsTaskWithOptions(request: DeleteBatchOperateCardsTaskRequest, runtime: Util.RuntimeOptions): DeleteBatchOperateCardsTaskResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.batchOperateCardsTaskId)) {
    query['BatchOperateCardsTaskId'] = request.batchOperateCardsTaskId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'DeleteBatchOperateCardsTask',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 删除批量操作卡任务
 *
 * @param request DeleteBatchOperateCardsTaskRequest
 * @return DeleteBatchOperateCardsTaskResponse
 */
async function deleteBatchOperateCardsTask(request: DeleteBatchOperateCardsTaskRequest): DeleteBatchOperateCardsTaskResponse {
  var runtime = new Util.RuntimeOptions{};
  return deleteBatchOperateCardsTaskWithOptions(request, runtime);
}

model DeleteGroupAuthorizationRuleRequest {
  authorizationRuleId?: string(name='AuthorizationRuleId', description='This parameter is required.', example='ar5gg-12fnojjtkkre28t08j'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model DeleteGroupAuthorizationRuleResponseBody = {
  requestId?: string(name='RequestId', example='A175C091-3910-51AF-8D84-D5717B9B8D38'),
}

model DeleteGroupAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DeleteGroupAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 删除5G高速上云服务实例组的授权规则
 *
 * @param request DeleteGroupAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DeleteGroupAuthorizationRuleResponse
 */
async function deleteGroupAuthorizationRuleWithOptions(request: DeleteGroupAuthorizationRuleRequest, runtime: Util.RuntimeOptions): DeleteGroupAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.authorizationRuleId)) {
    query['AuthorizationRuleId'] = request.authorizationRuleId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'DeleteGroupAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 删除5G高速上云服务实例组的授权规则
 *
 * @param request DeleteGroupAuthorizationRuleRequest
 * @return DeleteGroupAuthorizationRuleResponse
 */
async function deleteGroupAuthorizationRule(request: DeleteGroupAuthorizationRuleRequest): DeleteGroupAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return deleteGroupAuthorizationRuleWithOptions(request, runtime);
}

model DeleteIoTCloudConnectorBackhaulRouteRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  netLinkId?: string(name='NetLinkId', example='cciot-xxxx'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model DeleteIoTCloudConnectorBackhaulRouteResponseBody = {
  requestId?: string(name='RequestId', example='AA93A076-3D94-51AB-AC70-4C94AF003B03'),
}

model DeleteIoTCloudConnectorBackhaulRouteResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DeleteIoTCloudConnectorBackhaulRouteResponseBody(name='body'),
}

/**
 * @summary 删除iotcc实例的回程路由
 *
 * @param request DeleteIoTCloudConnectorBackhaulRouteRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DeleteIoTCloudConnectorBackhaulRouteResponse
 */
async function deleteIoTCloudConnectorBackhaulRouteWithOptions(request: DeleteIoTCloudConnectorBackhaulRouteRequest, runtime: Util.RuntimeOptions): DeleteIoTCloudConnectorBackhaulRouteResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.netLinkId)) {
    query['NetLinkId'] = request.netLinkId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'DeleteIoTCloudConnectorBackhaulRoute',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 删除iotcc实例的回程路由
 *
 * @param request DeleteIoTCloudConnectorBackhaulRouteRequest
 * @return DeleteIoTCloudConnectorBackhaulRouteResponse
 */
async function deleteIoTCloudConnectorBackhaulRoute(request: DeleteIoTCloudConnectorBackhaulRouteRequest): DeleteIoTCloudConnectorBackhaulRouteResponse {
  var runtime = new Util.RuntimeOptions{};
  return deleteIoTCloudConnectorBackhaulRouteWithOptions(request, runtime);
}

model DeleteWirelessCloudConnectorRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model DeleteWirelessCloudConnectorResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model DeleteWirelessCloudConnectorResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DeleteWirelessCloudConnectorResponseBody(name='body'),
}

/**
 * @summary 删除5G高速上云服务实例
 *
 * @param request DeleteWirelessCloudConnectorRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DeleteWirelessCloudConnectorResponse
 */
async function deleteWirelessCloudConnectorWithOptions(request: DeleteWirelessCloudConnectorRequest, runtime: Util.RuntimeOptions): DeleteWirelessCloudConnectorResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'DeleteWirelessCloudConnector',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 删除5G高速上云服务实例
 *
 * @param request DeleteWirelessCloudConnectorRequest
 * @return DeleteWirelessCloudConnectorResponse
 */
async function deleteWirelessCloudConnector(request: DeleteWirelessCloudConnectorRequest): DeleteWirelessCloudConnectorResponse {
  var runtime = new Util.RuntimeOptions{};
  return deleteWirelessCloudConnectorWithOptions(request, runtime);
}

model DeleteWirelessCloudConnectorGroupRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model DeleteWirelessCloudConnectorGroupResponseBody = {
  requestId?: string(name='RequestId', example='2E759287-F208-589B-82D8-6D7A30F417E3'),
}

model DeleteWirelessCloudConnectorGroupResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DeleteWirelessCloudConnectorGroupResponseBody(name='body'),
}

/**
 * @summary 删除5G高速上云服务实例分组
 *
 * @param request DeleteWirelessCloudConnectorGroupRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DeleteWirelessCloudConnectorGroupResponse
 */
async function deleteWirelessCloudConnectorGroupWithOptions(request: DeleteWirelessCloudConnectorGroupRequest, runtime: Util.RuntimeOptions): DeleteWirelessCloudConnectorGroupResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'DeleteWirelessCloudConnectorGroup',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 删除5G高速上云服务实例分组
 *
 * @param request DeleteWirelessCloudConnectorGroupRequest
 * @return DeleteWirelessCloudConnectorGroupResponse
 */
async function deleteWirelessCloudConnectorGroup(request: DeleteWirelessCloudConnectorGroupRequest): DeleteWirelessCloudConnectorGroupResponse {
  var runtime = new Util.RuntimeOptions{};
  return deleteWirelessCloudConnectorGroupWithOptions(request, runtime);
}

model DetachVpcFromNetLinkRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  netLinkId?: string(name='NetLinkId', description='This parameter is required.', example='cciot-xxxx'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model DetachVpcFromNetLinkResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model DetachVpcFromNetLinkResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DetachVpcFromNetLinkResponseBody(name='body'),
}

/**
 * @summary 解除5G高速上云服务实例下的网络连接和VPC的绑定
 *
 * @param request DetachVpcFromNetLinkRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DetachVpcFromNetLinkResponse
 */
async function detachVpcFromNetLinkWithOptions(request: DetachVpcFromNetLinkRequest, runtime: Util.RuntimeOptions): DetachVpcFromNetLinkResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.netLinkId)) {
    query['NetLinkId'] = request.netLinkId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'DetachVpcFromNetLink',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 解除5G高速上云服务实例下的网络连接和VPC的绑定
 *
 * @param request DetachVpcFromNetLinkRequest
 * @return DetachVpcFromNetLinkResponse
 */
async function detachVpcFromNetLink(request: DetachVpcFromNetLinkRequest): DetachVpcFromNetLinkResponse {
  var runtime = new Util.RuntimeOptions{};
  return detachVpcFromNetLinkWithOptions(request, runtime);
}

model FailCardsRequest {
  clientToken?: string(name='ClientToken', example='TF-CreateServerlessDBInstance-1639649079-51d933f6-0251-4057-9276'),
  dryRun?: boolean(name='DryRun', example='false'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.', example='FailCards'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model FailCardsResponseBody = {
  requestId?: string(name='RequestId', example='186B6E37-D9D1-5E64-ACDE-E89F7E68A37B'),
}

model FailCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: FailCardsResponseBody(name='body'),
}

/**
 * @summary 卡注销接口
 *
 * @param request FailCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return FailCardsResponse
 */
async function failCardsWithOptions(request: FailCardsRequest, runtime: Util.RuntimeOptions): FailCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'FailCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 卡注销接口
 *
 * @param request FailCardsRequest
 * @return FailCardsResponse
 */
async function failCards(request: FailCardsRequest): FailCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return failCardsWithOptions(request, runtime);
}

model GetCardRequest {
  iccid?: string(name='Iccid', description='This parameter is required.', example='11111111111'),
}

model GetCardResponseBody = {
  APN?: string(name='APN', example='zjalyjs01s.5gjs.njiot'),
  activatedTime?: string(name='ActivatedTime', example='2022-08-25 17:34:57'),
  alarmThreshold?: long(name='AlarmThreshold', example='1000'),
  cloudConnectorId?: string(name='CloudConnectorId', example='iotcc-xxxxxxxx'),
  description?: string(name='Description', example='task-test'),
  ISP?: string(name='ISP', example='Unicom'),
  iccid?: string(name='Iccid', example='111111111'),
  imei?: string(name='Imei', example='23412313513512'),
  imsi?: string(name='Imsi', example='12123123'),
  ipAddress?: string(name='IpAddress', example='172.24.2.121'),
  limitThreshold?: long(name='LimitThreshold', example='50'),
  lock?: string(name='Lock', example='true'),
  msisdn?: string(name='Msisdn', example='2312341231235'),
  name?: string(name='Name', example='test'),
  netType?: string(name='NetType', example='5G'),
  orderId?: string(name='OrderId', example='12312341234124'),
  requestId?: string(name='RequestId', example='0B28B72A-BD16-51F7-AAEE-55247FE02729'),
  simStatus?: string(name='SimStatus', example='Deactivated'),
  spec?: string(name='Spec', example='CONSUMER_THREE_IN_ONE'),
  status?: string(name='Status', example='Available'),
  stopThreshold?: long(name='StopThreshold', example='4096'),
  usageDataMonth?: int32(name='UsageDataMonth', example='50'),
  usageDataTotal?: long(name='UsageDataTotal', example='1000'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-xxxxxxx'),
}

model GetCardResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GetCardResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例的详细连接信息
 *
 * @param request GetCardRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GetCardResponse
 */
async function getCardWithOptions(request: GetCardRequest, runtime: Util.RuntimeOptions): GetCardResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetCard',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例的详细连接信息
 *
 * @param request GetCardRequest
 * @return GetCardResponse
 */
async function getCard(request: GetCardRequest): GetCardResponse {
  var runtime = new Util.RuntimeOptions{};
  return getCardWithOptions(request, runtime);
}

model GetCardLockReasonRequest {
  iccid?: string(name='Iccid', description='This parameter is required.', example='*********11111'),
}

model GetCardLockReasonResponseBody = {
  lockReason?: string(name='LockReason', example='ForceTwoWayStop'),
  requestId?: string(name='RequestId', example='F32C0BBE-5025-5561-8976-7BD096BA21FB'),
}

model GetCardLockReasonResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GetCardLockReasonResponseBody(name='body'),
}

/**
 * @summary 查询卡锁定停机的原因
 *
 * @param request GetCardLockReasonRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GetCardLockReasonResponse
 */
async function getCardLockReasonWithOptions(request: GetCardLockReasonRequest, runtime: Util.RuntimeOptions): GetCardLockReasonResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetCardLockReason',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询卡锁定停机的原因
 *
 * @param request GetCardLockReasonRequest
 * @return GetCardLockReasonResponse
 */
async function getCardLockReason(request: GetCardLockReasonRequest): GetCardLockReasonResponse {
  var runtime = new Util.RuntimeOptions{};
  return getCardLockReasonWithOptions(request, runtime);
}

model GetCreateCustomerInfomationRequest {
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model GetCreateCustomerInfomationResponseBody = {
  canBuyCard?: string(name='CanBuyCard', example='True'),
  requestId?: string(name='RequestId', example='2E759287-F208-589B-82D8-6D7A30F417E3'),
  URL?: string(name='URL', example='https://*******'),
}

model GetCreateCustomerInfomationResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GetCreateCustomerInfomationResponseBody(name='body'),
}

/**
 * @param request GetCreateCustomerInfomationRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GetCreateCustomerInfomationResponse
 */
async function getCreateCustomerInfomationWithOptions(request: GetCreateCustomerInfomationRequest, runtime: Util.RuntimeOptions): GetCreateCustomerInfomationResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetCreateCustomerInfomation',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @param request GetCreateCustomerInfomationRequest
 * @return GetCreateCustomerInfomationResponse
 */
async function getCreateCustomerInfomation(request: GetCreateCustomerInfomationRequest): GetCreateCustomerInfomationResponse {
  var runtime = new Util.RuntimeOptions{};
  return getCreateCustomerInfomationWithOptions(request, runtime);
}

model GetCreateCustomerInformationRequest {
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-xxx'),
}

model GetCreateCustomerInformationResponseBody = {
  canBuyCard?: string(name='CanBuyCard', example='True'),
  requestId?: string(name='RequestId', example='AE0BA8E5-1E0C-5171-852F-826301C76BBE'),
  URL?: string(name='URL', example='https://*******'),
}

model GetCreateCustomerInformationResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GetCreateCustomerInformationResponseBody(name='body'),
}

/**
 * @summary 获取录入客户资料的相关信息
 *
 * @param request GetCreateCustomerInformationRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GetCreateCustomerInformationResponse
 */
async function getCreateCustomerInformationWithOptions(request: GetCreateCustomerInformationRequest, runtime: Util.RuntimeOptions): GetCreateCustomerInformationResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetCreateCustomerInformation',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 获取录入客户资料的相关信息
 *
 * @param request GetCreateCustomerInformationRequest
 * @return GetCreateCustomerInformationResponse
 */
async function getCreateCustomerInformation(request: GetCreateCustomerInformationRequest): GetCreateCustomerInformationResponse {
  var runtime = new Util.RuntimeOptions{};
  return getCreateCustomerInformationWithOptions(request, runtime);
}

model GetDiagnoseResultForSingleCardRequest {
  diagnoseTaskId?: string(name='DiagnoseTaskId', description='This parameter is required.', example='diagnoseTask-bp2qhwdp2n9x6zkvq****'),
  regionNo?: string(name='RegionNo', example='cn-hangzhou'),
}

model GetDiagnoseResultForSingleCardResponseBody = {
  beginTime?: long(name='BeginTime', example='1646100223024'),
  cardIp?: string(name='CardIp', example='10.176.78.61'),
  destination?: string(name='Destination', example='106.14.175.4'),
  destinationType?: string(name='DestinationType', example='Domain'),
  diagnoseItem?: [ 
    {
      part?: string(name='Part', example='Terminal'),
      status?: string(name='Status', example='Wrong'),
      subItems?: [ 
        {
          subItem?: string(name='SubItem', example='CardStatus'),
          subItemInfo?: string(name='SubItemInfo', example='Card status is real-time'),
          subItemStatus?: string(name='SubItemStatus', example='Normal'),
        }
      ](name='SubItems'),
    }
  ](name='DiagnoseItem'),
  endTime?: long(name='EndTime', example='1646100223264'),
  errorResult?: [ 
    {
      errorDesc?: string(name='ErrorDesc', example='Terminal abnormal'),
      errorItem?: string(name='ErrorItem', example='CardStatus'),
      errorLevel?: string(name='ErrorLevel', example='Warning'),
      errorPart?: string(name='ErrorPart', example='Terminal'),
      errorSuggestion?: string(name='ErrorSuggestion', example='Please check whether the terminal and card are compatible or whether the terminal can send messages'),
    }
  ](name='ErrorResult'),
  iccId?: string(name='IccId', example='89860477102170127555'),
  requestId?: string(name='RequestId', example='94032572-8758-575E-B306-86F59D1B826E'),
  status?: string(name='Status', example='failed'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-xxxx'),
}

model GetDiagnoseResultForSingleCardResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GetDiagnoseResultForSingleCardResponseBody(name='body'),
}

/**
 * @summary 查询单卡诊断结果
 *
 * @param request GetDiagnoseResultForSingleCardRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GetDiagnoseResultForSingleCardResponse
 */
async function getDiagnoseResultForSingleCardWithOptions(request: GetDiagnoseResultForSingleCardRequest, runtime: Util.RuntimeOptions): GetDiagnoseResultForSingleCardResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.diagnoseTaskId)) {
    query['DiagnoseTaskId'] = request.diagnoseTaskId;
  }
  if (!Util.isUnset(request.regionNo)) {
    query['RegionNo'] = request.regionNo;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetDiagnoseResultForSingleCard',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询单卡诊断结果
 *
 * @param request GetDiagnoseResultForSingleCardRequest
 * @return GetDiagnoseResultForSingleCardResponse
 */
async function getDiagnoseResultForSingleCard(request: GetDiagnoseResultForSingleCardRequest): GetDiagnoseResultForSingleCardResponse {
  var runtime = new Util.RuntimeOptions{};
  return getDiagnoseResultForSingleCardWithOptions(request, runtime);
}

model GetWirelessCloudConnectorRequest {
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model GetWirelessCloudConnectorResponseBody = {
  businessType?: string(name='BusinessType', example='Business'),
  cardCount?: string(name='CardCount', example='20000'),
  createTime?: string(name='CreateTime', example='2022-3-15 22:20:00'),
  dataPackageId?: string(name='DataPackageId', example='dp-xxxx'),
  dataPackageType?: string(name='DataPackageType', example='200'),
  description?: string(name='Description', example='cc5g-test'),
  features?: [ string ](name='Features'),
  name?: string(name='Name', example='test'),
  netLinks?: [ 
    {
      APN?: string(name='APN', example='bjaliyun01s.5gbj.bjiot'),
      createTime?: string(name='CreateTime'),
      description?: string(name='Description'),
      grantAliUid?: string(name='GrantAliUid', example='11111111111'),
      ISP?: string(name='ISP', example='Telecom'),
      name?: string(name='Name', description='代表创建时间的资源属性字段', example='test'),
      netLinkId?: string(name='NetLinkId', description='代表资源名称的资源属性字段', example='cciot-xxxx'),
      regionId?: string(name='RegionId', example='cn-hangzhou'),
      status?: string(name='Status', example='Attached'),
      type?: string(name='Type', example='Standard'),
      vSwitchs?: [ string ](name='VSwitchs'),
      vpcId?: string(name='VpcId', example='vpc-xxxx'),
    }
  ](name='NetLinks'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
  serviceType?: string(name='ServiceType', example='CC5GCCIoT'),
  status?: string(name='Status', example='Available'),
  useCase?: string(name='UseCase'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', example='cc5gg-****'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-xxxx'),
}

model GetWirelessCloudConnectorResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GetWirelessCloudConnectorResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例详情
 *
 * @param request GetWirelessCloudConnectorRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GetWirelessCloudConnectorResponse
 */
async function getWirelessCloudConnectorWithOptions(request: GetWirelessCloudConnectorRequest, runtime: Util.RuntimeOptions): GetWirelessCloudConnectorResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetWirelessCloudConnector',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例详情
 *
 * @param request GetWirelessCloudConnectorRequest
 * @return GetWirelessCloudConnectorResponse
 */
async function getWirelessCloudConnector(request: GetWirelessCloudConnectorRequest): GetWirelessCloudConnectorResponse {
  var runtime = new Util.RuntimeOptions{};
  return getWirelessCloudConnectorWithOptions(request, runtime);
}

model GrantNetLinkRequest {
  clientToken?: string(name='ClientToken', example='f0ba469f-de7f-4dde-8390-0966a1a0ef9a'),
  dryRun?: boolean(name='DryRun', example='False'),
  grantAliUid?: long(name='GrantAliUid', description='This parameter is required.', example='11111111111'),
  netLinkId?: string(name='NetLinkId', description='This parameter is required.', example='cciot-xxxx'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model GrantNetLinkResponseBody = {
  requestId?: string(name='RequestId', example='E6B58AF9-F1BF-5894-B898-6CE2108463C5'),
}

model GrantNetLinkResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GrantNetLinkResponseBody(name='body'),
}

/**
 * @summary 分享授权网络连接
 *
 * @param request GrantNetLinkRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GrantNetLinkResponse
 */
async function grantNetLinkWithOptions(request: GrantNetLinkRequest, runtime: Util.RuntimeOptions): GrantNetLinkResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.grantAliUid)) {
    query['GrantAliUid'] = request.grantAliUid;
  }
  if (!Util.isUnset(request.netLinkId)) {
    query['NetLinkId'] = request.netLinkId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GrantNetLink',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 分享授权网络连接
 *
 * @param request GrantNetLinkRequest
 * @return GrantNetLinkResponse
 */
async function grantNetLink(request: GrantNetLinkRequest): GrantNetLinkResponse {
  var runtime = new Util.RuntimeOptions{};
  return grantNetLinkWithOptions(request, runtime);
}

model InnerLimitRateCardsRequest {
  clientToken?: string(name='ClientToken'),
  dryRun?: boolean(name='DryRun'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  innerApi?: boolean(name='InnerApi'),
  regionId?: string(name='RegionId'),
  task?: boolean(name='Task'),
}

model InnerLimitRateCardsResponseBody = {
  requestId?: string(name='RequestId'),
}

model InnerLimitRateCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: InnerLimitRateCardsResponseBody(name='body'),
}

/**
 * @param request InnerLimitRateCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return InnerLimitRateCardsResponse
 */
async function innerLimitRateCardsWithOptions(request: InnerLimitRateCardsRequest, runtime: Util.RuntimeOptions): InnerLimitRateCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.innerApi)) {
    query['InnerApi'] = request.innerApi;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.task)) {
    query['Task'] = request.task;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'InnerLimitRateCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @param request InnerLimitRateCardsRequest
 * @return InnerLimitRateCardsResponse
 */
async function innerLimitRateCards(request: InnerLimitRateCardsRequest): InnerLimitRateCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return innerLimitRateCardsWithOptions(request, runtime);
}

model InnerStopCardsRequest {
  clientToken?: string(name='ClientToken'),
  dryRun?: boolean(name='DryRun'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  innerApi?: boolean(name='InnerApi'),
  regionId?: string(name='RegionId'),
  task?: boolean(name='Task'),
}

model InnerStopCardsResponseBody = {
  requestId?: string(name='RequestId'),
}

model InnerStopCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: InnerStopCardsResponseBody(name='body'),
}

/**
 * @param request InnerStopCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return InnerStopCardsResponse
 */
async function innerStopCardsWithOptions(request: InnerStopCardsRequest, runtime: Util.RuntimeOptions): InnerStopCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.innerApi)) {
    query['InnerApi'] = request.innerApi;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.task)) {
    query['Task'] = request.task;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'InnerStopCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @param request InnerStopCardsRequest
 * @return InnerStopCardsResponse
 */
async function innerStopCards(request: InnerStopCardsRequest): InnerStopCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return innerStopCardsWithOptions(request, runtime);
}

model ListAPNsRequest {
  APN?: string(name='APN', example='CMWAP'),
  ISP?: string(name='ISP', example='unicom'),
  maxResults?: long(name='MaxResults', example='20'),
  nextToken?: string(name='NextToken', example='FFmyTO70tTpLG6I3FmYAXGKPd****'),
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
}

model ListAPNsResponseBody = {
  APNs?: [ 
    {
      APN?: string(name='APN', description='代表资源名称的资源属性字段', example='zjhzaliyun01s.5gjs.njiot'),
      description?: string(name='Description'),
      ISP?: string(name='ISP', description='代表资源一级ID的资源属性字段', example='unicom'),
      name?: string(name='Name', description='代表创建时间的资源属性字段'),
      zones?: [ string ](name='Zones'),
    }
  ](name='APNs'),
  maxResults?: string(name='MaxResults', example='20'),
  nextToken?: string(name='NextToken', example='vhNxI+jwQfkLCUChCQ+iOoiRkyUbtAilGSvWuwktFBxF+bar2HpV0efI6n1+GkMv'),
  requestId?: string(name='RequestId', example='A175C091-3910-51AF-8D84-D5717B9B8D38'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListAPNsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListAPNsResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务支持的APN列表
 *
 * @param request ListAPNsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListAPNsResponse
 */
async function listAPNsWithOptions(request: ListAPNsRequest, runtime: Util.RuntimeOptions): ListAPNsResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListAPNs',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务支持的APN列表
 *
 * @param request ListAPNsRequest
 * @return ListAPNsResponse
 */
async function listAPNs(request: ListAPNsRequest): ListAPNsResponse {
  var runtime = new Util.RuntimeOptions{};
  return listAPNsWithOptions(request, runtime);
}

model ListAuthorizationRulesRequest {
  authorizationRuleIds?: [ string ](name='AuthorizationRuleIds'),
  destination?: string(name='Destination', example='10.0.0.1'),
  destinationPort?: string(name='DestinationPort', example='-1/-1'),
  destinationType?: string(name='DestinationType', example='Cidr'),
  dns?: boolean(name='Dns', example='true'),
  maxResults?: long(name='MaxResults', example='10'),
  names?: [ string ](name='Names'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  policy?: string(name='Policy', example='Permit'),
  protocol?: string(name='Protocol', example='all'),
  statuses?: [ string ](name='Statuses'),
  type?: string(name='Type', example='System'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListAuthorizationRulesResponseBody = {
  authorizationRules?: [ 
    {
      authorizationRuleId?: string(name='AuthorizationRuleId', description='代表资源一级ID的资源属性字段', example='ar5g-xxxx'),
      createTime?: string(name='CreateTime', example='2022-3-15 22:20:00'),
      description?: string(name='Description', example='ar5g-test'),
      destination?: string(name='Destination', example='10.0.0.0/24'),
      destinationPort?: string(name='DestinationPort', example='0-65535'),
      destinationType?: string(name='DestinationType', example='Cidr'),
      dns?: boolean(name='Dns', example='true'),
      name?: string(name='Name', description='代表创建时间的资源属性字段', example='test'),
      policy?: string(name='Policy', example='Permit'),
      protocol?: string(name='Protocol', example='all'),
      sourceCidr?: string(name='SourceCidr', example='0.0.0.0/0'),
      status?: string(name='Status', description='代表资源名称的资源属性字段', example='Pending'),
      type?: string(name='Type', example='Default'),
    }
  ](name='AuthorizationRules'),
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  requestId?: string(name='RequestId', example='207F9929-806E-5622-8E4F-8484F7000C22'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListAuthorizationRulesResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListAuthorizationRulesResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例的授权规则列表
 *
 * @param request ListAuthorizationRulesRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListAuthorizationRulesResponse
 */
async function listAuthorizationRulesWithOptions(request: ListAuthorizationRulesRequest, runtime: Util.RuntimeOptions): ListAuthorizationRulesResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListAuthorizationRules',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例的授权规则列表
 *
 * @param request ListAuthorizationRulesRequest
 * @return ListAuthorizationRulesResponse
 */
async function listAuthorizationRules(request: ListAuthorizationRulesRequest): ListAuthorizationRulesResponse {
  var runtime = new Util.RuntimeOptions{};
  return listAuthorizationRulesWithOptions(request, runtime);
}

model ListBatchOperateCardsTasksRequest {
  batchOperateCardsTaskIds?: [ string ](name='BatchOperateCardsTaskIds'),
  maxResults?: long(name='MaxResults', example='10'),
  names?: [ string ](name='Names'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  statuses?: [ string ](name='Statuses'),
}

model ListBatchOperateCardsTasksResponseBody = {
  batchOperateCardsTasks?: [ 
    {
      batchOperateCardsTaskId?: string(name='BatchOperateCardsTaskId', description='代表资源一级ID的资源属性字段', example='boct-xxxx'),
      createTime?: string(name='CreateTime', example='2022-3-15 22:20:00'),
      description?: string(name='Description', example='task-test'),
      effectType?: string(name='EffectType', example='CurrentMonth'),
      iccidsOssFilePath?: string(name='IccidsOssFilePath', example='https://examplebucket.oss-eu-central-1.aliyuncs.com/***'),
      name?: string(name='Name', example='test'),
      operateResultOssFilePath?: string(name='OperateResultOssFilePath', example='https://examplebucket.oss-eu-central-1.aliyuncs.com/***'),
      operateType?: string(name='OperateType', description='代表创建时间的资源属性字段', example='BreakNetwork'),
      status?: string(name='Status', example='Available'),
      threshold?: string(name='Threshold', example='100'),
      wirelessCloudConnectors?: [ 
        {
          status?: string(name='Status', example='Deleted'),
          wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-xxxx'),
        }
      ](name='WirelessCloudConnectors'),
    }
  ](name='BatchOperateCardsTasks'),
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListBatchOperateCardsTasksResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListBatchOperateCardsTasksResponseBody(name='body'),
}

/**
 * @summary 查询批量操作卡任务列表
 *
 * @param request ListBatchOperateCardsTasksRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListBatchOperateCardsTasksResponse
 */
async function listBatchOperateCardsTasksWithOptions(request: ListBatchOperateCardsTasksRequest, runtime: Util.RuntimeOptions): ListBatchOperateCardsTasksResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListBatchOperateCardsTasks',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询批量操作卡任务列表
 *
 * @param request ListBatchOperateCardsTasksRequest
 * @return ListBatchOperateCardsTasksResponse
 */
async function listBatchOperateCardsTasks(request: ListBatchOperateCardsTasksRequest): ListBatchOperateCardsTasksResponse {
  var runtime = new Util.RuntimeOptions{};
  return listBatchOperateCardsTasksWithOptions(request, runtime);
}

model ListCardAreaLimitSupportAreaRequest {
  acceptLanguage?: string(name='AcceptLanguage', example='en'),
  provinceName?: string(name='ProvinceName'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model ListCardAreaLimitSupportAreaResponseBody = {
  provinces?: [ string ](name='Provinces'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model ListCardAreaLimitSupportAreaResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListCardAreaLimitSupportAreaResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务物联网卡区域解锁支持区域
 *
 * @param request ListCardAreaLimitSupportAreaRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListCardAreaLimitSupportAreaResponse
 */
async function listCardAreaLimitSupportAreaWithOptions(request: ListCardAreaLimitSupportAreaRequest, runtime: Util.RuntimeOptions): ListCardAreaLimitSupportAreaResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListCardAreaLimitSupportArea',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务物联网卡区域解锁支持区域
 *
 * @param request ListCardAreaLimitSupportAreaRequest
 * @return ListCardAreaLimitSupportAreaResponse
 */
async function listCardAreaLimitSupportArea(request: ListCardAreaLimitSupportAreaRequest): ListCardAreaLimitSupportAreaResponse {
  var runtime = new Util.RuntimeOptions{};
  return listCardAreaLimitSupportAreaWithOptions(request, runtime);
}

model ListCardDayUsagesRequest {
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  latestMonthNum?: int32(name='LatestMonthNum', example='1'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListCardDayUsagesResponseBody = {
  cards?: [ 
    {
      iccid?: string(name='Iccid', description='代表资源一级ID的资源属性字段', example='89091231231219123'),
      usageDataMonths?: [ 
        {
          cardDayUsages?: [ 
            {
              day?: string(name='Day', example='20220701'),
              usageData?: string(name='UsageData', example='40'),
            }
          ](name='CardDayUsages'),
          month?: string(name='Month', example='202207'),
          usageDataMonth?: string(name='UsageDataMonth', example='1030'),
        }
      ](name='UsageDataMonths'),
    }
  ](name='Cards'),
  requestId?: string(name='RequestId', example='AA93A076-3D94-51AB-AC70-4C94AF003B03'),
}

model ListCardDayUsagesResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListCardDayUsagesResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例的卡单日流量信息列表
 *
 * @param request ListCardDayUsagesRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListCardDayUsagesResponse
 */
async function listCardDayUsagesWithOptions(request: ListCardDayUsagesRequest, runtime: Util.RuntimeOptions): ListCardDayUsagesResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListCardDayUsages',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例的卡单日流量信息列表
 *
 * @param request ListCardDayUsagesRequest
 * @return ListCardDayUsagesResponse
 */
async function listCardDayUsages(request: ListCardDayUsagesRequest): ListCardDayUsagesResponse {
  var runtime = new Util.RuntimeOptions{};
  return listCardDayUsagesWithOptions(request, runtime);
}

model ListCardUsagesRequest {
  iccids?: [ string ](name='Iccids'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListCardUsagesResponseBody = {
  cards?: [ 
    {
      iccid?: string(name='Iccid', description='代表资源一级ID的资源属性字段', example='89091231231219123'),
      usageDataMonth?: long(name='UsageDataMonth', example='20'),
    }
  ](name='Cards'),
  requestId?: string(name='RequestId', example='186B6E37-D9D1-5E64-ACDE-E89F7E68A37B'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListCardUsagesResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListCardUsagesResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例的流量信息列表
 *
 * @param request ListCardUsagesRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListCardUsagesResponse
 */
async function listCardUsagesWithOptions(request: ListCardUsagesRequest, runtime: Util.RuntimeOptions): ListCardUsagesResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListCardUsages',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例的流量信息列表
 *
 * @param request ListCardUsagesRequest
 * @return ListCardUsagesResponse
 */
async function listCardUsages(request: ListCardUsagesRequest): ListCardUsagesResponse {
  var runtime = new Util.RuntimeOptions{};
  return listCardUsagesWithOptions(request, runtime);
}

model ListCardsRequest {
  apn?: string(name='Apn', example='bjaliyun01s.5gbj.bjiot'),
  iccid?: string(name='Iccid', example='8909123123121912'),
  iccids?: [ string ](name='Iccids'),
  ipAddress?: string(name='IpAddress', example='10.0.0.1'),
  lock?: boolean(name='Lock', example='true'),
  maxResults?: long(name='MaxResults', example='10'),
  msisdn?: string(name='Msisdn', example='1441204374591'),
  netLinkId?: string(name='NetLinkId', example='cciot-xxxx'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  online?: boolean(name='Online', example='true'),
  statuses?: [ string ](name='Statuses'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListCardsResponseBody = {
  cards?: [ 
    {
      APN?: string(name='APN', description='代表创建时间的资源属性字段', example='bjaliyun01s.5gbj.bjiot'),
      activatedTime?: string(name='ActivatedTime', example='2022-3-15 22:20:00'),
      businessStatus?: string(name='BusinessStatus', example='Available'),
      description?: string(name='Description', example='test'),
      ISP?: string(name='ISP', example='Telecom'),
      iccid?: string(name='Iccid', description='代表资源一级ID的资源属性字段', example='89091231231219123'),
      imei?: string(name='Imei', example='7896129300'),
      imsi?: string(name='Imsi', example='8912039123'),
      ipAddress?: string(name='IpAddress', example='10.0.0.118'),
      lock?: boolean(name='Lock', example='false'),
      msisdn?: string(name='Msisdn', example='1441204374591'),
      name?: string(name='Name', example='test'),
      netType?: string(name='NetType', description='代表资源名称的资源属性字段', example='5G'),
      orderId?: string(name='OrderId', example='89099123012'),
      spec?: string(name='Spec', example='CONSUMER_THREE_IN_ONE'),
      status?: string(name='Status'),
      usageDataMonth?: long(name='UsageDataMonth', example='20'),
      usageDataTotal?: string(name='UsageDataTotal', example='50'),
    }
  ](name='Cards'),
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  requestId?: string(name='RequestId', example='88C2F32F-B641-5980-B7A5-6907050ABCD1'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListCardsResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例的连接列表
 *
 * @param request ListCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListCardsResponse
 */
async function listCardsWithOptions(request: ListCardsRequest, runtime: Util.RuntimeOptions): ListCardsResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例的连接列表
 *
 * @param request ListCardsRequest
 * @return ListCardsResponse
 */
async function listCards(request: ListCardsRequest): ListCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return listCardsWithOptions(request, runtime);
}

model ListDataPackagesRequest {
  dataPackageIds?: [ string ](name='DataPackageIds'),
  maxResults?: long(name='MaxResults', example='10'),
  names?: [ string ](name='Names'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  statuses?: [ string ](name='Statuses'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListDataPackagesResponseBody = {
  dataPackages?: [ 
    {
      cardCount?: string(name='CardCount', example='20000'),
      createTime?: string(name='CreateTime', example='2022-3-15 22:20:00'),
      dataPackageId?: string(name='DataPackageId', example='dp-xxxx'),
      expiredTime?: string(name='ExpiredTime', example='2099-3-15 22:20:00'),
      ISP?: string(name='ISP', example='Telecom'),
      name?: string(name='Name', description='代表创建时间的资源属性字段'),
      size?: string(name='Size', example='200'),
      status?: string(name='Status', description='代表资源名称的资源属性字段', example='Available'),
    }
  ](name='DataPackages'),
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  requestId?: string(name='RequestId', example='8734B5B2-FC84-54C4-8038-D40228CF01FE'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListDataPackagesResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListDataPackagesResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例下的带宽包列表
 *
 * @param request ListDataPackagesRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListDataPackagesResponse
 */
async function listDataPackagesWithOptions(request: ListDataPackagesRequest, runtime: Util.RuntimeOptions): ListDataPackagesResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListDataPackages',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例下的带宽包列表
 *
 * @param request ListDataPackagesRequest
 * @return ListDataPackagesResponse
 */
async function listDataPackages(request: ListDataPackagesRequest): ListDataPackagesResponse {
  var runtime = new Util.RuntimeOptions{};
  return listDataPackagesWithOptions(request, runtime);
}

model ListDiagnoseInfoForSingleCardRequest {
  maxResults?: int32(name='MaxResults', example='20'),
  nextToken?: string(name='NextToken', example='FFmyTO70tTpLG6I3FmYAXGKPd****'),
  regionNo?: string(name='RegionNo', example='cn-hangzhou'),
  source?: string(name='Source', example='89860477102170127555'),
  sourceType?: string(name='SourceType', example='Iccid'),
  status?: string(name='Status', example='success'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListDiagnoseInfoForSingleCardResponseBody = {
  diagnoseInfo?: [ 
    {
      beginTime?: long(name='BeginTime', example='1662307200000'),
      cardIp?: string(name='CardIp', example='10.176.78.61'),
      destination?: string(name='Destination', example='www.xxx.com'),
      destinationType?: string(name='DestinationType', example='Domain'),
      diagnoseTaskId?: string(name='DiagnoseTaskId', example='diagnoseTask-bp2x7tzkdl655liw3mhbg'),
      diagnoseTime?: long(name='DiagnoseTime', example='1662307202400'),
      endTime?: long(name='EndTime', example='1662307201200'),
      iccId?: string(name='IccId', example='89860477102170127555'),
      source?: string(name='Source', example='89860477102170127555'),
      sourceType?: string(name='SourceType', example='Iccid'),
      status?: string(name='Status', example='failed'),
      wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-xxxx'),
    }
  ](name='DiagnoseInfo'),
  maxResults?: long(name='MaxResults', example='20'),
  nextToken?: string(name='NextToken', example='FFmyTO70tTpLG6I3FmYAXGKPd****'),
  requestId?: string(name='RequestId', example='E1E237B1-EED7-55D5-AE5F-671E642DB3B5'),
  totalCount?: long(name='TotalCount', example='50'),
}

model ListDiagnoseInfoForSingleCardResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListDiagnoseInfoForSingleCardResponseBody(name='body'),
}

/**
 * @summary 查询单卡诊断信息列表
 *
 * @param request ListDiagnoseInfoForSingleCardRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListDiagnoseInfoForSingleCardResponse
 */
async function listDiagnoseInfoForSingleCardWithOptions(request: ListDiagnoseInfoForSingleCardRequest, runtime: Util.RuntimeOptions): ListDiagnoseInfoForSingleCardResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.maxResults)) {
    query['MaxResults'] = request.maxResults;
  }
  if (!Util.isUnset(request.nextToken)) {
    query['NextToken'] = request.nextToken;
  }
  if (!Util.isUnset(request.regionNo)) {
    query['RegionNo'] = request.regionNo;
  }
  if (!Util.isUnset(request.source)) {
    query['Source'] = request.source;
  }
  if (!Util.isUnset(request.sourceType)) {
    query['SourceType'] = request.sourceType;
  }
  if (!Util.isUnset(request.status)) {
    query['Status'] = request.status;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListDiagnoseInfoForSingleCard',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询单卡诊断信息列表
 *
 * @param request ListDiagnoseInfoForSingleCardRequest
 * @return ListDiagnoseInfoForSingleCardResponse
 */
async function listDiagnoseInfoForSingleCard(request: ListDiagnoseInfoForSingleCardRequest): ListDiagnoseInfoForSingleCardResponse {
  var runtime = new Util.RuntimeOptions{};
  return listDiagnoseInfoForSingleCardWithOptions(request, runtime);
}

model ListGroupAuthorizationRulesRequest {
  authorizationRuleIds?: [ string ](name='AuthorizationRuleIds'),
  destination?: string(name='Destination', example='10.0.0.1'),
  destinationPort?: string(name='DestinationPort', example='-1/-1'),
  destinationType?: string(name='DestinationType', example='Cidr'),
  dns?: boolean(name='Dns', example='true'),
  maxResults?: long(name='MaxResults', example='10'),
  names?: [ string ](name='Names'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  policy?: string(name='Policy', example='Permit'),
  protocol?: string(name='Protocol', example='all'),
  statuses?: [ string ](name='Statuses'),
  type?: string(name='Type', example='System'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model ListGroupAuthorizationRulesResponseBody = {
  groupAuthorizationRules?: [ 
    {
      authorizationRuleId?: string(name='AuthorizationRuleId', description='代表资源一级ID的资源属性字段', example='ar5gg-y5g4rp2w1tl1w7zg59'),
      createTime?: string(name='CreateTime', example='2022-06-21 15:27:24'),
      description?: string(name='Description', example='ar5gg-test'),
      destination?: string(name='Destination', example='47.103.184.100/32'),
      destinationPort?: string(name='DestinationPort', example='0-65535'),
      destinationType?: string(name='DestinationType', example='Cidr'),
      dns?: boolean(name='Dns', example='true'),
      name?: string(name='Name', description='代表创建时间的资源属性字段', example='test'),
      policy?: string(name='Policy', example='Permit'),
      protocol?: string(name='Protocol', example='all'),
      sourceCidr?: string(name='SourceCidr', example='0.0.0.0/0'),
      status?: string(name='Status', description='代表资源名称的资源属性字段', example='Creating'),
      type?: string(name='Type', example='Default'),
    }
  ](name='GroupAuthorizationRules'),
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListGroupAuthorizationRulesResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListGroupAuthorizationRulesResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例组的授权规则列表
 *
 * @param request ListGroupAuthorizationRulesRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListGroupAuthorizationRulesResponse
 */
async function listGroupAuthorizationRulesWithOptions(request: ListGroupAuthorizationRulesRequest, runtime: Util.RuntimeOptions): ListGroupAuthorizationRulesResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListGroupAuthorizationRules',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例组的授权规则列表
 *
 * @param request ListGroupAuthorizationRulesRequest
 * @return ListGroupAuthorizationRulesResponse
 */
async function listGroupAuthorizationRules(request: ListGroupAuthorizationRulesRequest): ListGroupAuthorizationRulesResponse {
  var runtime = new Util.RuntimeOptions{};
  return listGroupAuthorizationRulesWithOptions(request, runtime);
}

model ListIoTCloudConnectorBackhaulRouteRequest {
  netLinkId?: string(name='NetLinkId', description='This parameter is required.', example='cciot-xxxx'),
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListIoTCloudConnectorBackhaulRouteResponseBody = {
  netLinkId?: string(name='NetLinkId', example='cciot-xxxx'),
  requestId?: string(name='RequestId', example='94032572-8758-575E-B306-86F59D1B826E'),
  routes?: [ 
    {
      description?: string(name='Description', description='代表创建时间的资源属性字段', example='full cidr block route'),
      destinationCidrBlock?: string(name='DestinationCidrBlock', description='代表资源名称的资源属性字段', example='10.33.190.0/24'),
      nextHopId?: string(name='NextHopId', description='代表创建时间的资源属性字段', example='eni-uf677iw3xihqxiz2ssir'),
      nextHopType?: string(name='NextHopType', description='代表创建时间的资源属性字段', example='NetworkInterface'),
      status?: string(name='Status', description='代表创建时间的资源属性字段', example='published'),
    }
  ](name='Routes'),
}

model ListIoTCloudConnectorBackhaulRouteResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListIoTCloudConnectorBackhaulRouteResponseBody(name='body'),
}

/**
 * @summary 查询iotcc实例回程路由
 *
 * @param request ListIoTCloudConnectorBackhaulRouteRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListIoTCloudConnectorBackhaulRouteResponse
 */
async function listIoTCloudConnectorBackhaulRouteWithOptions(request: ListIoTCloudConnectorBackhaulRouteRequest, runtime: Util.RuntimeOptions): ListIoTCloudConnectorBackhaulRouteResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListIoTCloudConnectorBackhaulRoute',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询iotcc实例回程路由
 *
 * @param request ListIoTCloudConnectorBackhaulRouteRequest
 * @return ListIoTCloudConnectorBackhaulRouteResponse
 */
async function listIoTCloudConnectorBackhaulRoute(request: ListIoTCloudConnectorBackhaulRouteRequest): ListIoTCloudConnectorBackhaulRouteResponse {
  var runtime = new Util.RuntimeOptions{};
  return listIoTCloudConnectorBackhaulRouteWithOptions(request, runtime);
}

model ListOrdersRequest {
  maxResults?: long(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  orderAction?: string(name='OrderAction', example='NewBuy'),
  orderIds?: [ string ](name='OrderIds'),
  statuses?: [ string ](name='Statuses'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ListOrdersResponseBody = {
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  orders?: [ 
    {
      action?: string(name='Action', description='代表创建时间的资源属性字段', example='NewBuy'),
      cardCount?: string(name='CardCount', example='20000'),
      cardNetType?: string(name='CardNetType', example='5G'),
      cardType?: string(name='CardType', example='CONSUMER_THREE_IN_ONE'),
      contactName?: string(name='ContactName'),
      contactPhone?: string(name='ContactPhone', example='139000*******'),
      createTime?: string(name='CreateTime', example='2022-3-15 21:20:00'),
      description?: string(name='Description', example='order-test'),
      logisticsId?: string(name='LogisticsId', example='SF14*********'),
      logisticsStatus?: string(name='LogisticsStatus', example='Signed'),
      logisticsType?: string(name='LogisticsType', example='SF'),
      logisticsUpdateTime?: string(name='LogisticsUpdateTime', example='2022-3-15 22:20:00'),
      orderId?: string(name='OrderId', example='89************'),
      payTime?: string(name='PayTime', example='2022-3-15 21:30:00'),
      postAddress?: string(name='PostAddress'),
      regionId?: string(name='RegionId', example='cn-hangzhou'),
      status?: string(name='Status', description='代表资源名称的资源属性字段', example='Pending'),
    }
  ](name='Orders'),
  requestId?: string(name='RequestId', example='88C2F32F-B641-5980-B7A5-6907050ABCD1'),
  totalCount?: string(name='TotalCount', example='2'),
}

model ListOrdersResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListOrdersResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例下的订单列表
 *
 * @param request ListOrdersRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListOrdersResponse
 */
async function listOrdersWithOptions(request: ListOrdersRequest, runtime: Util.RuntimeOptions): ListOrdersResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListOrders',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例下的订单列表
 *
 * @param request ListOrdersRequest
 * @return ListOrdersResponse
 */
async function listOrders(request: ListOrdersRequest): ListOrdersResponse {
  var runtime = new Util.RuntimeOptions{};
  return listOrdersWithOptions(request, runtime);
}

model ListRegionsRequest {
  acceptLanguage?: string(name='AcceptLanguage', example='zh-CN'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model ListRegionsResponseBody = {
  regions?: [ 
    {
      localName?: string(name='LocalName', description='代表资源名称的资源属性字段'),
      regionId?: string(name='RegionId', description='代表资源一级ID的资源属性字段', example='cn-hangzhou'),
    }
  ](name='Regions'),
  requestId?: string(name='RequestId', example='2DCFA69E-A161-512D-99A7-108022580719'),
}

model ListRegionsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListRegionsResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务支持的REGION
 *
 * @param request ListRegionsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListRegionsResponse
 */
async function listRegionsWithOptions(request: ListRegionsRequest, runtime: Util.RuntimeOptions): ListRegionsResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListRegions',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务支持的REGION
 *
 * @param request ListRegionsRequest
 * @return ListRegionsResponse
 */
async function listRegions(request: ListRegionsRequest): ListRegionsResponse {
  var runtime = new Util.RuntimeOptions{};
  return listRegionsWithOptions(request, runtime);
}

model ListWirelessCloudConnectorGroupsRequest {
  maxResults?: long(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  wirelessCloudConnectorGroupIds?: [ string ](name='WirelessCloudConnectorGroupIds'),
  wirelessCloudConnectorGroupNames?: [ string ](name='WirelessCloudConnectorGroupNames'),
  wirelessCloudConnectorGroupStatus?: [ string ](name='WirelessCloudConnectorGroupStatus'),
}

model ListWirelessCloudConnectorGroupsResponseBody = {
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  requestId?: string(name='RequestId', example='D3BAFE75-C670-52DB-9739-03133E5FC914'),
  totalCount?: string(name='TotalCount', example='2'),
  wirelessCloudConnectorGroups?: [ 
    {
      createTime?: string(name='CreateTime', example='2022-07-04 19:19:14'),
      description?: string(name='Description', example='cc5gg-test'),
      name?: string(name='Name', description='代表创建时间的资源属性字段', example='test'),
      regionId?: string(name='RegionId', example='cn-shenzhen'),
      status?: string(name='Status', description='代表资源名称的资源属性字段', example='Creating'),
      wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='代表资源一级ID的资源属性字段', example='cc5gg-xxxx'),
      wirelessCloudConnectors?: [ 
        {
          businessType?: string(name='BusinessType', example='Business'),
          cardCount?: string(name='CardCount', example='115'),
          createTime?: string(name='CreateTime', example='2022-04-28 17:40:53'),
          dataPackageId?: string(name='DataPackageId', example='dp-xxxx'),
          dataPackageType?: string(name='DataPackageType', example='200'),
          description?: string(name='Description', example='cc5g-test'),
          name?: string(name='Name', example='test'),
          regionId?: string(name='RegionId', example='cn-shenzhen'),
          serviceType?: string(name='ServiceType', example='CC5G'),
          status?: string(name='Status', example='Available'),
          useCase?: string(name='UseCase'),
          wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', example='cc5g-62eb02o7lz1w5aurl3'),
        }
      ](name='WirelessCloudConnectors'),
    }
  ](name='WirelessCloudConnectorGroups'),
}

model ListWirelessCloudConnectorGroupsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListWirelessCloudConnectorGroupsResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例分组列表
 *
 * @param request ListWirelessCloudConnectorGroupsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListWirelessCloudConnectorGroupsResponse
 */
async function listWirelessCloudConnectorGroupsWithOptions(request: ListWirelessCloudConnectorGroupsRequest, runtime: Util.RuntimeOptions): ListWirelessCloudConnectorGroupsResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListWirelessCloudConnectorGroups',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例分组列表
 *
 * @param request ListWirelessCloudConnectorGroupsRequest
 * @return ListWirelessCloudConnectorGroupsResponse
 */
async function listWirelessCloudConnectorGroups(request: ListWirelessCloudConnectorGroupsRequest): ListWirelessCloudConnectorGroupsResponse {
  var runtime = new Util.RuntimeOptions{};
  return listWirelessCloudConnectorGroupsWithOptions(request, runtime);
}

model ListWirelessCloudConnectorsRequest {
  businessType?: string(name='BusinessType', example='Business'),
  isInGroup?: string(name='IsInGroup', example='false'),
  maxResults?: long(name='MaxResults', example='10'),
  names?: [ string ](name='Names'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  statuses?: [ string ](name='Statuses'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', example='cc5gg-****'),
  wirelessCloudConnectorIds?: [ string ](name='WirelessCloudConnectorIds'),
}

model ListWirelessCloudConnectorsResponseBody = {
  maxResults?: string(name='MaxResults', example='10'),
  nextToken?: string(name='NextToken', example='iou001238joojjaere'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
  totalCount?: string(name='TotalCount', example='2'),
  wirelessCloudConnectors?: [ 
    {
      businessType?: string(name='BusinessType', example='Business'),
      cardCount?: string(name='CardCount', example='20000'),
      createTime?: string(name='CreateTime', example='2022-3-15 22:20:00'),
      dataPackageId?: string(name='DataPackageId', example='dp-xxxx'),
      dataPackageType?: string(name='DataPackageType', example='200'),
      description?: string(name='Description', example='cc5g-test'),
      name?: string(name='Name', description='代表创建时间的资源属性字段', example='test'),
      regionId?: string(name='RegionId', example='cn-hangzhou'),
      serviceType?: string(name='ServiceType', example='CC5G'),
      status?: string(name='Status', description='代表资源名称的资源属性字段', example='Available'),
      useCase?: string(name='UseCase'),
      wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', example='cc5gg-****'),
      wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='代表资源一级ID的资源属性字段', example='cc5g-xxxx'),
    }
  ](name='WirelessCloudConnectors'),
}

model ListWirelessCloudConnectorsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListWirelessCloudConnectorsResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务实例列表
 *
 * @param request ListWirelessCloudConnectorsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListWirelessCloudConnectorsResponse
 */
async function listWirelessCloudConnectorsWithOptions(request: ListWirelessCloudConnectorsRequest, runtime: Util.RuntimeOptions): ListWirelessCloudConnectorsResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListWirelessCloudConnectors',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务实例列表
 *
 * @param request ListWirelessCloudConnectorsRequest
 * @return ListWirelessCloudConnectorsResponse
 */
async function listWirelessCloudConnectors(request: ListWirelessCloudConnectorsRequest): ListWirelessCloudConnectorsResponse {
  var runtime = new Util.RuntimeOptions{};
  return listWirelessCloudConnectorsWithOptions(request, runtime);
}

model ListZonesRequest {
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
}

model ListZonesResponseBody = {
  requestId?: string(name='RequestId', example='C2C1DE7C-E14C-53DE-920D-D63ACD7421A4'),
  zones?: [ 
    {
      localName?: string(name='LocalName', description='代表创建时间的资源属性字段'),
      zoneId?: string(name='ZoneId', description='代表资源名称的资源属性字段', example='cn-hangzhou-h'),
    }
  ](name='Zones'),
}

model ListZonesResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListZonesResponseBody(name='body'),
}

/**
 * @summary 查询5G高速上云服务支持的可用区
 *
 * @param request ListZonesRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListZonesResponse
 */
async function listZonesWithOptions(request: ListZonesRequest, runtime: Util.RuntimeOptions): ListZonesResponse {
  Util.validateModel(request);
  var query = OpenApiUtil.query(Util.toMap(request));
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ListZones',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'GET',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 查询5G高速上云服务支持的可用区
 *
 * @param request ListZonesRequest
 * @return ListZonesResponse
 */
async function listZones(request: ListZonesRequest): ListZonesResponse {
  var runtime = new Util.RuntimeOptions{};
  return listZonesWithOptions(request, runtime);
}

model LockCardsRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model LockCardsResponseBody = {
  requestId?: string(name='RequestId', example='8734B5B2-FC84-54C4-8038-D40228CF01FE'),
}

model LockCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: LockCardsResponseBody(name='body'),
}

/**
 * @summary 运营商侧卡停机
 *
 * @param request LockCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return LockCardsResponse
 */
async function lockCardsWithOptions(request: LockCardsRequest, runtime: Util.RuntimeOptions): LockCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'LockCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 运营商侧卡停机
 *
 * @param request LockCardsRequest
 * @return LockCardsResponse
 */
async function lockCards(request: LockCardsRequest): LockCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return lockCardsWithOptions(request, runtime);
}

model ModifyWirelessCloudConnectorFeatureRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  featureName?: string(name='FeatureName', example='DirectMode'),
  featureValue?: string(name='FeatureValue', example='On'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model ModifyWirelessCloudConnectorFeatureResponseBody = {
  requestId?: string(name='RequestId', example='999E0F64-9A10-567B-BB84-B7C46023BA3B'),
}

model ModifyWirelessCloudConnectorFeatureResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ModifyWirelessCloudConnectorFeatureResponseBody(name='body'),
}

/**
 * @summary 修改5G高速上云服务实例属性
 *
 * @param request ModifyWirelessCloudConnectorFeatureRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ModifyWirelessCloudConnectorFeatureResponse
 */
async function modifyWirelessCloudConnectorFeatureWithOptions(request: ModifyWirelessCloudConnectorFeatureRequest, runtime: Util.RuntimeOptions): ModifyWirelessCloudConnectorFeatureResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.featureName)) {
    query['FeatureName'] = request.featureName;
  }
  if (!Util.isUnset(request.featureValue)) {
    query['FeatureValue'] = request.featureValue;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ModifyWirelessCloudConnectorFeature',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 修改5G高速上云服务实例属性
 *
 * @param request ModifyWirelessCloudConnectorFeatureRequest
 * @return ModifyWirelessCloudConnectorFeatureResponse
 */
async function modifyWirelessCloudConnectorFeature(request: ModifyWirelessCloudConnectorFeatureRequest): ModifyWirelessCloudConnectorFeatureResponse {
  var runtime = new Util.RuntimeOptions{};
  return modifyWirelessCloudConnectorFeatureWithOptions(request, runtime);
}

model OpenCc5gServiceRequest {
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
}

model OpenCc5gServiceResponseBody = {
  requestId?: string(name='RequestId', example='2DCFA69E-A161-512D-99A7-108022580719'),
}

model OpenCc5gServiceResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: OpenCc5gServiceResponseBody(name='body'),
}

/**
 * @summary 开通5G高速上云服务
 *
 * @param request OpenCc5gServiceRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return OpenCc5gServiceResponse
 */
async function openCc5gServiceWithOptions(request: OpenCc5gServiceRequest, runtime: Util.RuntimeOptions): OpenCc5gServiceResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'OpenCc5gService',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 开通5G高速上云服务
 *
 * @param request OpenCc5gServiceRequest
 * @return OpenCc5gServiceResponse
 */
async function openCc5gService(request: OpenCc5gServiceRequest): OpenCc5gServiceResponse {
  var runtime = new Util.RuntimeOptions{};
  return openCc5gServiceWithOptions(request, runtime);
}

model RebindCardsRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model RebindCardsResponseBody = {
  requestId?: string(name='RequestId', example='D2A9864E-BB8D-5A5C-90FC-E2FBD5D0BF9B'),
}

model RebindCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: RebindCardsResponseBody(name='body'),
}

/**
 * @summary 物联网卡换绑解锁操作
 *
 * @param request RebindCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return RebindCardsResponse
 */
async function rebindCardsWithOptions(request: RebindCardsRequest, runtime: Util.RuntimeOptions): RebindCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'RebindCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 物联网卡换绑解锁操作
 *
 * @param request RebindCardsRequest
 * @return RebindCardsResponse
 */
async function rebindCards(request: RebindCardsRequest): RebindCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return rebindCardsWithOptions(request, runtime);
}

model RemoveWirelessCloudConnectorFromGroupRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  regionId?: string(name='RegionId', description='This parameter is required.', example='cn-hangzhou'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
  wirelessCloudConnectorIds?: [ string ](name='WirelessCloudConnectorIds', description='This parameter is required.'),
}

model RemoveWirelessCloudConnectorFromGroupResponseBody = {
  requestId?: string(name='RequestId', example='2DCFA69E-A161-512D-99A7-108022580719'),
}

model RemoveWirelessCloudConnectorFromGroupResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: RemoveWirelessCloudConnectorFromGroupResponseBody(name='body'),
}

/**
 * @summary 从组里移除5G高速上云服务实例
 *
 * @param request RemoveWirelessCloudConnectorFromGroupRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return RemoveWirelessCloudConnectorFromGroupResponse
 */
async function removeWirelessCloudConnectorFromGroupWithOptions(request: RemoveWirelessCloudConnectorFromGroupRequest, runtime: Util.RuntimeOptions): RemoveWirelessCloudConnectorFromGroupResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorIds)) {
    query['WirelessCloudConnectorIds'] = request.wirelessCloudConnectorIds;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'RemoveWirelessCloudConnectorFromGroup',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 从组里移除5G高速上云服务实例
 *
 * @param request RemoveWirelessCloudConnectorFromGroupRequest
 * @return RemoveWirelessCloudConnectorFromGroupResponse
 */
async function removeWirelessCloudConnectorFromGroup(request: RemoveWirelessCloudConnectorFromGroupRequest): RemoveWirelessCloudConnectorFromGroupResponse {
  var runtime = new Util.RuntimeOptions{};
  return removeWirelessCloudConnectorFromGroupWithOptions(request, runtime);
}

model ResetAreaLimitCardsRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  province?: string(name='Province', description='This parameter is required.'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model ResetAreaLimitCardsResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model ResetAreaLimitCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ResetAreaLimitCardsResponseBody(name='body'),
}

/**
 * @summary 重置单卡区域限制
 *
 * @param request ResetAreaLimitCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ResetAreaLimitCardsResponse
 */
async function resetAreaLimitCardsWithOptions(request: ResetAreaLimitCardsRequest, runtime: Util.RuntimeOptions): ResetAreaLimitCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.province)) {
    query['Province'] = request.province;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ResetAreaLimitCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 重置单卡区域限制
 *
 * @param request ResetAreaLimitCardsRequest
 * @return ResetAreaLimitCardsResponse
 */
async function resetAreaLimitCards(request: ResetAreaLimitCardsRequest): ResetAreaLimitCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return resetAreaLimitCardsWithOptions(request, runtime);
}

model ResumeCardsRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model ResumeCardsResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model ResumeCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ResumeCardsResponseBody(name='body'),
}

/**
 * @summary 激活单卡运营商侧卡状态恢复
 *
 * @param request ResumeCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ResumeCardsResponse
 */
async function resumeCardsWithOptions(request: ResumeCardsRequest, runtime: Util.RuntimeOptions): ResumeCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'ResumeCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 激活单卡运营商侧卡状态恢复
 *
 * @param request ResumeCardsRequest
 * @return ResumeCardsResponse
 */
async function resumeCards(request: ResumeCardsRequest): ResumeCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return resumeCardsWithOptions(request, runtime);
}

model RevokeNetLinkRequest {
  clientToken?: string(name='ClientToken', example='8278082c-0b8c-412c-b0ad-876a3cf0d0f8'),
  dryRun?: boolean(name='DryRun', example='true'),
  netLinkId?: string(name='NetLinkId', description='This parameter is required.', example='iotcc-ua6xy4vpmi24y114ws'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model RevokeNetLinkResponseBody = {
  requestId?: string(name='RequestId', example='1E781588-69D4-56C3-93BA-DEFECF2596B8'),
}

model RevokeNetLinkResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: RevokeNetLinkResponseBody(name='body'),
}

/**
 * @summary 撤销分享授权网络连接
 *
 * @param request RevokeNetLinkRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return RevokeNetLinkResponse
 */
async function revokeNetLinkWithOptions(request: RevokeNetLinkRequest, runtime: Util.RuntimeOptions): RevokeNetLinkResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.netLinkId)) {
    query['NetLinkId'] = request.netLinkId;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'RevokeNetLink',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 撤销分享授权网络连接
 *
 * @param request RevokeNetLinkRequest
 * @return RevokeNetLinkResponse
 */
async function revokeNetLink(request: RevokeNetLinkRequest): RevokeNetLinkResponse {
  var runtime = new Util.RuntimeOptions{};
  return revokeNetLinkWithOptions(request, runtime);
}

model StopCardsRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model StopCardsResponseBody = {
  requestId?: string(name='RequestId', example='8734B5B2-FC84-54C4-8038-D40228CF01FE'),
}

model StopCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: StopCardsResponseBody(name='body'),
}

/**
 * @summary 运营商侧卡停机
 *
 * @param request StopCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return StopCardsResponse
 */
async function stopCardsWithOptions(request: StopCardsRequest, runtime: Util.RuntimeOptions): StopCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'StopCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 运营商侧卡停机
 *
 * @param request StopCardsRequest
 * @return StopCardsResponse
 */
async function stopCards(request: StopCardsRequest): StopCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return stopCardsWithOptions(request, runtime);
}

model SubmitDiagnoseTaskForSingleCardRequest {
  beginTime?: long(name='BeginTime', description='This parameter is required.', example='1662307201200'),
  destination?: string(name='Destination', example='106.14.175.4'),
  endTime?: long(name='EndTime', description='This parameter is required.', example='1662307201200'),
  regionNo?: string(name='RegionNo', description='This parameter is required.', example='cn-hangzhou'),
  resourceUid?: long(name='ResourceUid', example='253460731706911258'),
  source?: string(name='Source', description='This parameter is required.', example='89860477102170127555'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model SubmitDiagnoseTaskForSingleCardResponseBody = {
  diagnoseTaskId?: string(name='DiagnoseTaskId', example='diagnoseTask-bp2n6rgaj49qcs34jyzo8'),
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model SubmitDiagnoseTaskForSingleCardResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: SubmitDiagnoseTaskForSingleCardResponseBody(name='body'),
}

/**
 * @summary 开启cciot单卡一键诊断
 *
 * @param request SubmitDiagnoseTaskForSingleCardRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return SubmitDiagnoseTaskForSingleCardResponse
 */
async function submitDiagnoseTaskForSingleCardWithOptions(request: SubmitDiagnoseTaskForSingleCardRequest, runtime: Util.RuntimeOptions): SubmitDiagnoseTaskForSingleCardResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.beginTime)) {
    query['BeginTime'] = request.beginTime;
  }
  if (!Util.isUnset(request.destination)) {
    query['Destination'] = request.destination;
  }
  if (!Util.isUnset(request.endTime)) {
    query['EndTime'] = request.endTime;
  }
  if (!Util.isUnset(request.regionNo)) {
    query['RegionNo'] = request.regionNo;
  }
  if (!Util.isUnset(request.resourceUid)) {
    query['ResourceUid'] = request.resourceUid;
  }
  if (!Util.isUnset(request.source)) {
    query['Source'] = request.source;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'SubmitDiagnoseTaskForSingleCard',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 开启cciot单卡一键诊断
 *
 * @param request SubmitDiagnoseTaskForSingleCardRequest
 * @return SubmitDiagnoseTaskForSingleCardResponse
 */
async function submitDiagnoseTaskForSingleCard(request: SubmitDiagnoseTaskForSingleCardRequest): SubmitDiagnoseTaskForSingleCardResponse {
  var runtime = new Util.RuntimeOptions{};
  return submitDiagnoseTaskForSingleCardWithOptions(request, runtime);
}

model SwitchWirelessCloudConnectorToBusinessRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model SwitchWirelessCloudConnectorToBusinessResponseBody = {
  requestId?: string(name='RequestId', description='Id of the request', example='74ADDCF3-E3FE-5200-9290-1320125D71DC'),
}

model SwitchWirelessCloudConnectorToBusinessResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: SwitchWirelessCloudConnectorToBusinessResponseBody(name='body'),
}

/**
 * @summary 切换cc5g实例商业类型到商业版
 *
 * @param request SwitchWirelessCloudConnectorToBusinessRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return SwitchWirelessCloudConnectorToBusinessResponse
 */
async function switchWirelessCloudConnectorToBusinessWithOptions(request: SwitchWirelessCloudConnectorToBusinessRequest, runtime: Util.RuntimeOptions): SwitchWirelessCloudConnectorToBusinessResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'SwitchWirelessCloudConnectorToBusiness',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 切换cc5g实例商业类型到商业版
 *
 * @param request SwitchWirelessCloudConnectorToBusinessRequest
 * @return SwitchWirelessCloudConnectorToBusinessResponse
 */
async function switchWirelessCloudConnectorToBusiness(request: SwitchWirelessCloudConnectorToBusinessRequest): SwitchWirelessCloudConnectorToBusinessResponse {
  var runtime = new Util.RuntimeOptions{};
  return switchWirelessCloudConnectorToBusinessWithOptions(request, runtime);
}

model UnlockCardsRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  dryRun?: boolean(name='DryRun', example='true'),
  iccids?: [ string ](name='Iccids', description='This parameter is required.'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
}

model UnlockCardsResponseBody = {
  requestId?: string(name='RequestId', example='81CB64DF-E328-50A3-B386-03CAD604C114'),
}

model UnlockCardsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UnlockCardsResponseBody(name='body'),
}

/**
 * @summary 批量解锁卡
 *
 * @param request UnlockCardsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UnlockCardsResponse
 */
async function unlockCardsWithOptions(request: UnlockCardsRequest, runtime: Util.RuntimeOptions): UnlockCardsResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UnlockCards',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 批量解锁卡
 *
 * @param request UnlockCardsRequest
 * @return UnlockCardsResponse
 */
async function unlockCards(request: UnlockCardsRequest): UnlockCardsResponse {
  var runtime = new Util.RuntimeOptions{};
  return unlockCardsWithOptions(request, runtime);
}

model UpdateAuthorizationRuleRequest {
  authorizationRuleId?: string(name='AuthorizationRuleId', description='This parameter is required.', example='ar5g-xxxx'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='ar5g-test'),
  destination?: string(name='Destination', example='10.0.0.1'),
  destinationPort?: string(name='DestinationPort', example='-1/-1'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='Test'),
  policy?: string(name='Policy', example='Permit'),
  protocol?: string(name='Protocol', example='all'),
  sourceCidr?: string(name='SourceCidr', example='0.0.0.0/0'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model UpdateAuthorizationRuleResponseBody = {
  requestId?: string(name='RequestId', example='D3BAFE75-C670-52DB-9739-03133E5FC914'),
}

model UpdateAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 更新5G高速上云服务实例的授权规则
 *
 * @param request UpdateAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateAuthorizationRuleResponse
 */
async function updateAuthorizationRuleWithOptions(request: UpdateAuthorizationRuleRequest, runtime: Util.RuntimeOptions): UpdateAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.authorizationRuleId)) {
    query['AuthorizationRuleId'] = request.authorizationRuleId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destination)) {
    query['Destination'] = request.destination;
  }
  if (!Util.isUnset(request.destinationPort)) {
    query['DestinationPort'] = request.destinationPort;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.policy)) {
    query['Policy'] = request.policy;
  }
  if (!Util.isUnset(request.protocol)) {
    query['Protocol'] = request.protocol;
  }
  if (!Util.isUnset(request.sourceCidr)) {
    query['SourceCidr'] = request.sourceCidr;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 更新5G高速上云服务实例的授权规则
 *
 * @param request UpdateAuthorizationRuleRequest
 * @return UpdateAuthorizationRuleResponse
 */
async function updateAuthorizationRule(request: UpdateAuthorizationRuleRequest): UpdateAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateAuthorizationRuleWithOptions(request, runtime);
}

model UpdateBatchOperateCardsTaskRequest {
  batchOperateCardsTaskId?: string(name='BatchOperateCardsTaskId', description='This parameter is required.', example='boct-xxxx'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='task-test'),
  dryRun?: boolean(name='DryRun', example='true'),
  effectType?: string(name='EffectType', example='CurrentMonth'),
  iccids?: [ string ](name='Iccids'),
  iccidsOssFilePath?: string(name='IccidsOssFilePath'),
  name?: string(name='Name', example='test'),
  operateType?: string(name='OperateType', example='BreakNetwork'),
  regionId?: string(name='RegionId', example='cn-hangzhou'),
  threshold?: long(name='Threshold', example='100'),
  wirelessCloudConnectorIds?: [ string ](name='WirelessCloudConnectorIds'),
}

model UpdateBatchOperateCardsTaskResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model UpdateBatchOperateCardsTaskResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateBatchOperateCardsTaskResponseBody(name='body'),
}

/**
 * @summary 修改批量操作卡任务
 *
 * @param request UpdateBatchOperateCardsTaskRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateBatchOperateCardsTaskResponse
 */
async function updateBatchOperateCardsTaskWithOptions(request: UpdateBatchOperateCardsTaskRequest, runtime: Util.RuntimeOptions): UpdateBatchOperateCardsTaskResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.batchOperateCardsTaskId)) {
    query['BatchOperateCardsTaskId'] = request.batchOperateCardsTaskId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.effectType)) {
    query['EffectType'] = request.effectType;
  }
  if (!Util.isUnset(request.iccids)) {
    query['Iccids'] = request.iccids;
  }
  if (!Util.isUnset(request.iccidsOssFilePath)) {
    query['IccidsOssFilePath'] = request.iccidsOssFilePath;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.operateType)) {
    query['OperateType'] = request.operateType;
  }
  if (!Util.isUnset(request.regionId)) {
    query['RegionId'] = request.regionId;
  }
  if (!Util.isUnset(request.threshold)) {
    query['Threshold'] = request.threshold;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorIds)) {
    query['WirelessCloudConnectorIds'] = request.wirelessCloudConnectorIds;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateBatchOperateCardsTask',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 修改批量操作卡任务
 *
 * @param request UpdateBatchOperateCardsTaskRequest
 * @return UpdateBatchOperateCardsTaskResponse
 */
async function updateBatchOperateCardsTask(request: UpdateBatchOperateCardsTaskRequest): UpdateBatchOperateCardsTaskResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateBatchOperateCardsTaskWithOptions(request, runtime);
}

model UpdateCardRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='card-test'),
  dryRun?: boolean(name='DryRun', example='true'),
  iccid?: string(name='Iccid', example='890912389123'),
  name?: string(name='Name', example='test'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model UpdateCardResponseBody = {
  requestId?: string(name='RequestId', example='8734B5B2-FC84-54C4-8038-D40228CF01FE'),
}

model UpdateCardResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateCardResponseBody(name='body'),
}

/**
 * @summary 修改5G高速上云服务实例的连接描述和名称信息
 *
 * @param request UpdateCardRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateCardResponse
 */
async function updateCardWithOptions(request: UpdateCardRequest, runtime: Util.RuntimeOptions): UpdateCardResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.iccid)) {
    query['Iccid'] = request.iccid;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateCard',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 修改5G高速上云服务实例的连接描述和名称信息
 *
 * @param request UpdateCardRequest
 * @return UpdateCardResponse
 */
async function updateCard(request: UpdateCardRequest): UpdateCardResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateCardWithOptions(request, runtime);
}

model UpdateDNSAuthorizationRuleRequest {
  authorizationRuleId?: string(name='AuthorizationRuleId', description='This parameter is required.', example='ar5g-xxxx'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='ar5g-test'),
  destinationIp?: string(name='DestinationIp', example='10.0.0.1'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  sourceDNSIp?: string(name='SourceDNSIp', example='0.0.0.0'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model UpdateDNSAuthorizationRuleResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model UpdateDNSAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateDNSAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 更新5G高速上云服务实例的DNS授权规则
 *
 * @param request UpdateDNSAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateDNSAuthorizationRuleResponse
 */
async function updateDNSAuthorizationRuleWithOptions(request: UpdateDNSAuthorizationRuleRequest, runtime: Util.RuntimeOptions): UpdateDNSAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.authorizationRuleId)) {
    query['AuthorizationRuleId'] = request.authorizationRuleId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destinationIp)) {
    query['DestinationIp'] = request.destinationIp;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.sourceDNSIp)) {
    query['SourceDNSIp'] = request.sourceDNSIp;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateDNSAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 更新5G高速上云服务实例的DNS授权规则
 *
 * @param request UpdateDNSAuthorizationRuleRequest
 * @return UpdateDNSAuthorizationRuleResponse
 */
async function updateDNSAuthorizationRule(request: UpdateDNSAuthorizationRuleRequest): UpdateDNSAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateDNSAuthorizationRuleWithOptions(request, runtime);
}

model UpdateGroupAuthorizationRuleRequest {
  authorizationRuleId?: string(name='AuthorizationRuleId', description='This parameter is required.', example='ar5gg-xxxx'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='test'),
  destination?: string(name='Destination', example='192.168.XX.XX'),
  destinationPort?: string(name='DestinationPort', example='80/80'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  policy?: string(name='Policy', example='Permit'),
  protocol?: string(name='Protocol', example='all'),
  sourceCidr?: string(name='SourceCidr', example='192.168.0.1'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model UpdateGroupAuthorizationRuleResponseBody = {
  requestId?: string(name='RequestId', example='79B01B1A-7089-552F-9798-DEDFFBAAED5F'),
}

model UpdateGroupAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateGroupAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 更新5G高速上云服务实例组的授权规则
 *
 * @param request UpdateGroupAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateGroupAuthorizationRuleResponse
 */
async function updateGroupAuthorizationRuleWithOptions(request: UpdateGroupAuthorizationRuleRequest, runtime: Util.RuntimeOptions): UpdateGroupAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.authorizationRuleId)) {
    query['AuthorizationRuleId'] = request.authorizationRuleId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destination)) {
    query['Destination'] = request.destination;
  }
  if (!Util.isUnset(request.destinationPort)) {
    query['DestinationPort'] = request.destinationPort;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.policy)) {
    query['Policy'] = request.policy;
  }
  if (!Util.isUnset(request.protocol)) {
    query['Protocol'] = request.protocol;
  }
  if (!Util.isUnset(request.sourceCidr)) {
    query['SourceCidr'] = request.sourceCidr;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateGroupAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 更新5G高速上云服务实例组的授权规则
 *
 * @param request UpdateGroupAuthorizationRuleRequest
 * @return UpdateGroupAuthorizationRuleResponse
 */
async function updateGroupAuthorizationRule(request: UpdateGroupAuthorizationRuleRequest): UpdateGroupAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateGroupAuthorizationRuleWithOptions(request, runtime);
}

model UpdateGroupDnsAuthorizationRuleRequest {
  authorizationRuleId?: string(name='AuthorizationRuleId', description='This parameter is required.', example='ar5gg-xxxx'),
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='description'),
  destinationIp?: string(name='DestinationIp', example='192.168.0.2'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  sourceDNSIp?: string(name='SourceDNSIp', example='100.100.2.136'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model UpdateGroupDnsAuthorizationRuleResponseBody = {
  requestId?: string(name='RequestId', example='207F9929-806E-5622-8E4F-8484F7000C22'),
}

model UpdateGroupDnsAuthorizationRuleResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateGroupDnsAuthorizationRuleResponseBody(name='body'),
}

/**
 * @summary 更新5G高速上云服务实例组的DNS授权规则
 *
 * @param request UpdateGroupDnsAuthorizationRuleRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateGroupDnsAuthorizationRuleResponse
 */
async function updateGroupDnsAuthorizationRuleWithOptions(request: UpdateGroupDnsAuthorizationRuleRequest, runtime: Util.RuntimeOptions): UpdateGroupDnsAuthorizationRuleResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.authorizationRuleId)) {
    query['AuthorizationRuleId'] = request.authorizationRuleId;
  }
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.destinationIp)) {
    query['DestinationIp'] = request.destinationIp;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.sourceDNSIp)) {
    query['SourceDNSIp'] = request.sourceDNSIp;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateGroupDnsAuthorizationRule',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 更新5G高速上云服务实例组的DNS授权规则
 *
 * @param request UpdateGroupDnsAuthorizationRuleRequest
 * @return UpdateGroupDnsAuthorizationRuleResponse
 */
async function updateGroupDnsAuthorizationRule(request: UpdateGroupDnsAuthorizationRuleRequest): UpdateGroupDnsAuthorizationRuleResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateGroupDnsAuthorizationRuleWithOptions(request, runtime);
}

model UpdateWirelessCloudConnectorRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='cc5g-test'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  wirelessCloudConnectorId?: string(name='WirelessCloudConnectorId', description='This parameter is required.', example='cc5g-xxxx'),
}

model UpdateWirelessCloudConnectorResponseBody = {
  requestId?: string(name='RequestId', example='1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'),
}

model UpdateWirelessCloudConnectorResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateWirelessCloudConnectorResponseBody(name='body'),
}

/**
 * @summary 修改5G高速上云服务实例
 *
 * @param request UpdateWirelessCloudConnectorRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateWirelessCloudConnectorResponse
 */
async function updateWirelessCloudConnectorWithOptions(request: UpdateWirelessCloudConnectorRequest, runtime: Util.RuntimeOptions): UpdateWirelessCloudConnectorResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorId)) {
    query['WirelessCloudConnectorId'] = request.wirelessCloudConnectorId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateWirelessCloudConnector',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 修改5G高速上云服务实例
 *
 * @param request UpdateWirelessCloudConnectorRequest
 * @return UpdateWirelessCloudConnectorResponse
 */
async function updateWirelessCloudConnector(request: UpdateWirelessCloudConnectorRequest): UpdateWirelessCloudConnectorResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateWirelessCloudConnectorWithOptions(request, runtime);
}

model UpdateWirelessCloudConnectorGroupRequest {
  clientToken?: string(name='ClientToken', example='TF-******-1633255280-43c94bf7-2dd3-4c14-8'),
  description?: string(name='Description', example='description'),
  dryRun?: boolean(name='DryRun', example='true'),
  name?: string(name='Name', example='test'),
  wirelessCloudConnectorGroupId?: string(name='WirelessCloudConnectorGroupId', description='This parameter is required.', example='cc5gg-****'),
}

model UpdateWirelessCloudConnectorGroupResponseBody = {
  requestId?: string(name='RequestId', example='8734B5B2-FC84-54C4-8038-D40228CF01FE'),
}

model UpdateWirelessCloudConnectorGroupResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: UpdateWirelessCloudConnectorGroupResponseBody(name='body'),
}

/**
 * @summary 修改5G高速上云服务实例分组
 *
 * @param request UpdateWirelessCloudConnectorGroupRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return UpdateWirelessCloudConnectorGroupResponse
 */
async function updateWirelessCloudConnectorGroupWithOptions(request: UpdateWirelessCloudConnectorGroupRequest, runtime: Util.RuntimeOptions): UpdateWirelessCloudConnectorGroupResponse {
  Util.validateModel(request);
  var query = {};
  if (!Util.isUnset(request.clientToken)) {
    query['ClientToken'] = request.clientToken;
  }
  if (!Util.isUnset(request.description)) {
    query['Description'] = request.description;
  }
  if (!Util.isUnset(request.dryRun)) {
    query['DryRun'] = request.dryRun;
  }
  if (!Util.isUnset(request.name)) {
    query['Name'] = request.name;
  }
  if (!Util.isUnset(request.wirelessCloudConnectorGroupId)) {
    query['WirelessCloudConnectorGroupId'] = request.wirelessCloudConnectorGroupId;
  }
  var req = new OpenApi.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'UpdateWirelessCloudConnectorGroup',
    version = '2022-03-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

/**
 * @summary 修改5G高速上云服务实例分组
 *
 * @param request UpdateWirelessCloudConnectorGroupRequest
 * @return UpdateWirelessCloudConnectorGroupResponse
 */
async function updateWirelessCloudConnectorGroup(request: UpdateWirelessCloudConnectorGroupRequest): UpdateWirelessCloudConnectorGroupResponse {
  var runtime = new Util.RuntimeOptions{};
  return updateWirelessCloudConnectorGroupWithOptions(request, runtime);
}

